package org.jiuling.aliyun.sms.factory.service.verify;

import org.jiuling.aliyun.sms.enums.TemplateTypeEnum;
import org.jiuling.basics.validation.Assertions;

/**
 * 阿里云模板管理校验
 * @author 紫灵
 * @date 2023年03月03日 10时47分52秒
 */
public class AliYunTemplateManagerVerify {

    /**
     * 添加短信模板
     * @param templateType 模板类型
     * @param templateName 模板名称
     * @param templateContent 模板内容
     * @param remark 说明
     */
    public static void addSmsTemplateParam(TemplateTypeEnum templateType, String templateName, String templateContent, String remark){
        Assertions.ObjectAssertions.isNotNull("模板类型不能为空！",templateType);
        Assertions.StringAssertions.isNotBlank("模板名称不能为空！",templateName);
        Assertions.isFalse("模板名称长度不能超过30个字符！",templateName.length() > 30);
        Assertions.StringAssertions.isNotBlank("模板内容不能为空！",templateContent);
        Assertions.isFalse("模板内容长度不能超过500个字符！",templateContent.length() > 500);
        Assertions.StringAssertions.isNotBlank("短信模板申请说明不能为空！",remark);
        Assertions.isFalse("短信模板申请说明长度不能超过100个字符！",remark.length() > 100);
    }

    /**
     * 校验删除短信模板
     * @param templateCode 短信模板Code
     */
    public static void deleteSmsTemplateParam(String templateCode){
        Assertions.StringAssertions.isNotBlank("短信模板Code不能为空！",templateCode);
    }

    /**
     * 修改短信模板
     * @param templateType 模板类型
     * @param templateName 模板名称
     * @param templateContent 模板内容
     * @param remark 说明
     */
    public static void modifySmsTemplateParam(TemplateTypeEnum templateType, String templateName, String templateCode, String templateContent, String remark){
        addSmsTemplateParam(templateType, templateName, templateContent, remark);
    }

    /**
     * 校验查询短信模板
     * @param templateCode 短信模板Code
     */
    public static void querySmsTemplateParam(String templateCode){
        deleteSmsTemplateParam(templateCode);
    }
}
